/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package olimpus.dom;

import olimpus.genericos.Coneccion;
import olimpus.obj.Sueldos;
import olimpus.per.SueldosPer;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import olimpus.per.FuncionesPer;

/**
 *
 * @author Leonardo
 */
public class SueldosDom
{  
   public static Sueldos obtenerSueldos(long xIdSueldo) throws Exception
   {  
       Sueldos objSueldos = new Sueldos();
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           objSueldos = SueldosPer.obtenerSueldos(con, xIdSueldo);
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(SueldosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
       return objSueldos;
   }

   public static boolean existeSueldos(long xIdSueldo) throws Exception
   {  
       boolean existe;
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           existe = SueldosPer.existeSueldos(con, xIdSueldo);
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(SueldosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
       return existe;
   }
   
   public static boolean existeSueldos(String xNombre) throws Exception
   {  
       boolean existe;
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           existe = SueldosPer.existeSueldos(con, xNombre);
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(SueldosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
       return existe;
   }

   public static ArrayList<Sueldos> obtenerColeccionSueldos() throws Exception
   {  
       ArrayList<Sueldos> colSueldos = new ArrayList<Sueldos>();
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           colSueldos = SueldosPer.obtenerColeccionSueldos(con);
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(SueldosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
       return colSueldos;
   }

   public static void altaSueldos(Sueldos xObjSueldos) throws Exception
   {  
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           xObjSueldos.setIdSueldo(FuncionesPer.obtenerNumerador(con, "ID_SUELDOS", "SUELDOS"));
           SueldosPer.altaSueldos(con, xObjSueldos);
           con.commit();
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(SueldosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
   }

   public static void bajaSueldos(Sueldos xObjSueldos) throws Exception
   {  
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           SueldosPer.bajaSueldos(con, xObjSueldos);
           con.commit();
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(SueldosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
   }

   public static void modificaSueldos(Sueldos xObjSueldos) throws Exception
   {  
       Coneccion objCon = new Coneccion();
       Connection con = objCon.getConeccion();

       try
       {
           SueldosPer.modificaSueldos(con, xObjSueldos);
           con.commit();
       }
       catch (Exception ex)
       {
           con.rollback();
           Logger.getLogger(SueldosDom.class.getName()).log(Level.SEVERE, null, ex);
           throw new Exception("Dominio--> " + ex.getMessage());
       }
       finally
       {
           con.close();
       }
   }
}

